package com.caipin.domain.web;

/**
 * @Author: zhunian0322@163.com
 * @DateTime: 2021-10-06 11:52
 * @Description: TODO
 */
public class LeaveInfo {
    private String grade;

    @JsonProperty("class")
    private String classX;

    private int total;

    private List<InfoBean> info;

    public com.caipin.domain.web.LeaveInfo setGrade(String grade) {
        this.grade = grade;
        return this;
    }

    @JsonProperty("class")
    public com.caipin.domain.web.LeaveInfo setClassX(String classX) {
        this.classX = classX;
        return this;
    }

    public com.caipin.domain.web.LeaveInfo setTotal(int total) {
        this.total = total;
        return this;
    }

    public com.caipin.domain.web.LeaveInfo setInfo(List<InfoBean> info) {
        this.info = info;
        return this;
    }

    public boolean equals(Object o) {
        if (o == this)
            return true;
        if (!(o instanceof com.caipin.domain.web.LeaveInfo))
            return false;
        com.caipin.domain.web.LeaveInfo other = (com.caipin.domain.web.LeaveInfo)o;
        if (!other.canEqual(this))
            return false;
        Object this$grade = getGrade(), other$grade = other.getGrade();
        if ((this$grade == null) ? (other$grade != null) : !this$grade.equals(other$grade))
            return false;
        Object this$classX = getClassX(), other$classX = other.getClassX();
        if ((this$classX == null) ? (other$classX != null) : !this$classX.equals(other$classX))
            return false;
        if (getTotal() != other.getTotal())
            return false;
        Object<InfoBean> this$info = (Object<InfoBean>)getInfo(), other$info = (Object<InfoBean>)other.getInfo();
        return !((this$info == null) ? (other$info != null) : !this$info.equals(other$info));
    }

    protected boolean canEqual(Object other) {
        return other instanceof com.caipin.domain.web.LeaveInfo;
    }

    public int hashCode() {
        int PRIME = 59;
        result = 1;
        Object $grade = getGrade();
        result = result * 59 + (($grade == null) ? 43 : $grade.hashCode());
        Object $classX = getClassX();
        result = result * 59 + (($classX == null) ? 43 : $classX.hashCode());
        result = result * 59 + getTotal();
        Object<InfoBean> $info = (Object<InfoBean>)getInfo();
        return result * 59 + (($info == null) ? 43 : $info.hashCode());
    }

    public String toString() {
        return "LeaveInfo(grade=" + getGrade() + ", classX=" + getClassX() + ", total=" + getTotal() + ", info=" + getInfo() + ")";
    }

    public String getGrade() {
        return this.grade;
    }

    public String getClassX() {
        return this.classX;
    }

    public int getTotal() {
        return this.total;
    }

    public List<InfoBean> getInfo() {
        return this.info;
    }
}

